Currently, in a wireless communication system, with the evolution from the 3rd Generation (3G) to the 4th Generation (4G), there are four communication standards: UMTS, TD-SCDMA, WiMAX and LTE. In order to be compatible with these standards, the common mode of multi-standard needs to be implemented at the system side of the wireless communication system. However, because the procedures of processing these four standards vary widely, only modules with similar processing procedures and a relatively large consumption of resources can be shared. Wherein a typical processor is the Turbo decoder.
Turbo code has an extremely wide range of applications in the wireless communication system because its decoding performance is near to the Shannon limit. Wireless communication standards such as LTE, UMTS, TD-SCDMA, and WiMAX consider the Turbo code as their channel encoding and decoding methods.
Through constant iterations, the Turbo decoder can achieve the Log Maximum A Posterior (Log-MAP) algorithm or the Maximum Log Maximum A Posterior (Max-Log-MAP) decoding algorithm. Its hardware implementation has a high complexity and a big resource consumption, especially in situations where a variety of standards coexist, and developing a Turbo decoder that is compatible with a variety of standards but has small resources consumption has great significance.
Currently, the Turbo decoding methods of different standards are similar in term of the algorithm and all of them use the MAP algorithm, which is conducive to being compatible with the Turbo decoder. But the hardware implementation is quite different.
First, the coding modes are very different, especially the WiMAX, each of its component codes uses the two-bit coding mode, which determines that its decoding must use a MAP algorithm (take one bit pair as the processing unit) with the Radix-4 or above. The 3GPP standard (LTE, UMTS, TD-SCDMA) decoding can use the MAP algorithm (take the bit as the basic processing unit) with the Radix-2.
Second, the tail-bit processing methods are different. The WiMAX Turbo code (also called as Convolutional Code (CTC)) uses the tail-biting raster termination method. During the decoding, there is no tail bit processing. For the 3GPP-standard Turbo code, the tail bit is used for the raster termination. During the decoding, the tail bit is processed differently according to the standards.
Third, the interleaving modes are different. The interleaving modes are different in different standards. More importantly, the interleaving mode decides whether it can perform parallel decoding in the hardware implementation or not. The LTE and WiMAX interleaving modes can support the parallel decoding, while the UMTS and TD-SCDMA interleaving mode cannot support it.
Finally, the sizes of code blocks of different standards are different. The lengths of the LTE and WiMAX code blocks are even numbers; the sizes of the UMTS and TD-SCDMA code blocks can be any values between 40 and 5114. Because there are tail bits, when the sizes of code block are odd and even numbers respectively, their algorithm processings are different.
Under the same conditions (mainly the clock frequency, the length of code block and the number of parallel channels), the delay of the MAP algorithm with Radix-4 is half of that of the one with Radix-2, as shown in FIG. 1, and FIG. 1 is the state transition diagram of a conventional 3GPP Turbo Decoder when using the Radix-2. Considering from the level of algorithm, the LTE, UMTS and TD-SCDMA can use the Radix-4 MAP algorithm architecture, but it will bring hardware complexity and feasibility. For example, when the calculation of collision occurs simultaneously in the Alpha (alpha) and Beta (beta) in each window, if using the Radix-4 algorithm architecture, it needs to read 4 data from the random access memory (RAM) and calculate them (if using the Radix-2 algorithm architecture, the number of data that need to be read and calculated is 2).
Considering from the ease of implementation, for the standards of LTE, UMTS, and TD-SCDMA, when using the conventional Radix-2 algorithm architecture, the hardware implementation can be much easier, but it is not conducive to being compatible with the WiMAX (since the WiMAX only uses the Radix-4). If using two sets of Max-Log-MAP units, wherein one is processing the Radix-2 (for the 3GPP), and the other is processing the Radix-4 (for the WiMAX), although the implementation is simple, the resource utilization rate is not high and the resource consumption is also high, thus losing the significance of designing the multi-mode decoder.
Therefore, the existing Turbo decoder cannot solve the problem of resource sharing among different standards.